From: Marina Zhurakhinskaya Date: Fri, 23 Sep 2011 03:37:11 +0000 (-0400) Subject: messageTray: unset this._clickedSummaryItem if we are hiding the summary box pointer... X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7547 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=40c5db397d268fd285278a19f8145f626b28739b;p=gnome-shell.git messageTray: unset this._clickedSummaryItem if we are hiding the summary box pointer and don't have a new clicked summary item This ensures that this._clickedSummaryItem is always unset correctly. Because we disconnect the signals that have _adjustSummaryBoxPointerPosition() as a callback when unsetting this._clickedSummaryItem, we no longer call setPosition() on this._summaryBoxPointer after it is hidden. Calling setPosition() shows the box pointer again, which previously resulted in an empty box pointer staying behind when a notification associated with a tray icon was clicked. https://bugzilla.gnome.org/show_bug.cgi?id=659862 --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index fcf2f42fc..863930b39 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -2349,8 +2349,9 @@ MessageTray.prototype = { } this._summaryBoxPointerState = State.HIDING; - // Unset this._clickedSummaryItem if we are no longer showing the summary - if (this._summaryState != State.SHOWN) + // Unset this._clickedSummaryItem if we are no longer showing the summary or if + // this._clickedSummaryItem is still the item associated with the currently showing box pointer + if (this._summaryState != State.SHOWN || this._summaryBoxPointerItem == this._clickedSummaryItem) this._unsetClickedSummaryItem(); this._focusGrabber.ungrabFocus();